Substrate 是一個區塊鏈平台,擁有通用的狀態轉換功能(State Transition Function, STF)。及模組化的元件,可以實現共識,網路和設定等功能。除此之外,它還提供底層數據結構的標準和慣例。尤其是執行平台模組庫(Substrate Runtime Module Library, SRML),使得區塊鏈的快速開發模式得以實現。
Substrate 的底層核心有下列幾種數據類型:
上述每一種數據類型,在 SRML 中有提供相對應的通用參考實作。
Substrate 框架可分為:
Substrate 將區塊鏈系統設計模組化,提供整體框架功能。且由於設計上將 Runtime 解耦合抽離,實現了區塊鏈系統的升級功能。
因此 Substrate 是一個完整的區塊鏈開發框架,具有許多很酷的功能:
使用 Node:
通過運行預先設計的 Substrate 節點,並使用包含當前運行時的創世塊進行配置。在這種情況下,主要允許更改各種運行時模塊的創建參數,例如餘額,抵押,塊週期,費用和治理。這提供最少的可定制性,但只需配置一個 JSON 文件,即可啟動自己的區塊鏈。
使用 SRML:
通過將SRML中的模塊組合到新的運行時,可添加新的自定義模塊,並可更改或重新配置 Substrate 客戶端的塊生成邏輯。
(1)不修改塊生成邏輯,則現有的 Substrate 二進製文件可用於塊生成和同步。
(2)需要調整塊生成邏輯,則須將更改後的新塊邏輯二進製文件構建為單獨的項目,並由驗證器使用。這提供可定制的自由度,可添加自己的模塊。這是 Polkadot 中繼鏈的構建方式。
使用 Core:
可以忽略整個 SRML,並從頭開始設計和實現整個運行時。
(1)可以使用 Rust 之外的語言完成,它可以 WebAssembly 為目標。
(2)如果可以使運行時與 Substrate 節點抽象的塊生成邏輯兼容,那麼可以簡單地從 Wasm blob 構建一個新的 genesis 塊,並使用現有的基於 Rust 的 Substrate 客戶端啟動新的鏈。
(3)如果沒有,那麼需要相應地改變客戶端的塊生成邏輯,甚至可能改變區塊頭和塊序列化格式。在開發方面,這是迄今為止使用 Substrate 最艱難的方法,但也提供了最大的創新自由。
接下來的三十天內,就讓我們一起跟著小明的團隊一起學習最新的兩大跨鏈技術之一:Polkadot Substrate。
Substrate 開發者資源:
https://substrate.dev
Polkadot 官網:
https://polkadot.network
BDE 社群小聚錄影:
https://bitlly.co/ogvpb
想找區塊鏈人才或想學習區塊鏈知識的夥伴。歡迎參加社群小聚,一起來輕鬆交流、互相學習成長、認識新朋友、發現新機會!
台北區塊鏈社群
https://bitlly.co/Q4dIK
台北波可道社群
https://bitlly.co/XgVTz
BDE 區塊鏈學院 - 讓每個企業都懂區塊鏈。
https://bitlly.co/mbDwX
藉著親自並協助他人進行軟體開發,
我們正致力於發掘更優良的軟體開發方法。
透過這樣的努力,我們已建立以下價值觀:
個人與互動 重於 流程與工具
可用的軟體 重於 詳盡的文件
與客戶合作 重於 合約協商
回應變化 重於 遵循計劃
也就是說,雖然右側項目有其價值,
但我們更重視左側項目。